home *** CD-ROM | disk | FTP | other *** search
/ CD-ROM Magazine 2 / CDRom Mag 2.iso / sharware / bubble / setup.ms_ / setup.ms
Text File  |  1995-04-18  |  7KB  |  200 lines

  1. '**************************************************************************
  2. '*                       MSSetup Toolkit BubbleHelp
  3. '**************************************************************************
  4.  
  5. '$DEFINE DEBUG  ''Define for script development/debugging
  6.  
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. ''Dialog ID's
  11. CONST WELCOME       = 100
  12. CONST INSTALLED     = 200
  13. CONST ASKQUIT       = 300
  14. CONST DESTPATH      = 400
  15. CONST EXITFAILURE   = 500
  16. CONST EXITQUIT      = 600
  17. CONST EXITSUCCESS   = 700
  18. CONST OPTIONS       = 800
  19. CONST APPHELP       = 900
  20.  
  21. ''Bitmap ID
  22. CONST LOGO = 1
  23.  
  24. GLOBAL EXEDEST$        ''Default destination directory.
  25. GLOBAL DLLDEST$        ''Default destination directory.
  26. GLOBAL OPTCUR$      ''Option selection from option dialog.
  27.  
  28. DECLARE SUB Install
  29. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  30.  
  31.  
  32. INIT:
  33.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  34.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  35.  
  36.     SetBitmap CUIDLL$, LOGO
  37.     SetTitle "BubbleHelp Setup"
  38.  
  39.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  40.     IF szInf$ = "" THEN
  41.         szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  42.     END IF
  43.     ReadInfFile szInf$
  44.  
  45.     OPTCUR$ = "1"
  46.     EXEDEST$ = GetWindowsDir() + "FUTURE\BUBBLE"
  47.     DLLDEST$ = GetWindowsSysDir()
  48.  
  49. WELCOME:
  50.     SetSymbolValue "EditTextIn", EXEDEST$
  51.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  52.     EXEDEST$ = GetSymbolValue("EditTextOut")
  53.     IF sz$ = "CONTINUE" THEN
  54.         UIPop 1
  55.     ELSE
  56.         GOSUB ASKQUIT
  57.         GOTO WELCOME
  58.     END IF
  59.  
  60.     drive$ = MID$(EXEDEST$, 1, 1)
  61.     free& = GetFreeSpaceForDrive(drive$)
  62.  
  63.      IF free& > 1100000 THEN
  64.         
  65.        Install
  66.  
  67.      ELSE 
  68.  
  69.          i% = DoMsgBox("Insufficient disk space for installation, 1.1MB required.", "Warning", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  70.       GOTO QUITL1
  71.  
  72.      ENDIF
  73.  
  74. QUIT:
  75.     ON ERROR GOTO ERRQUIT
  76.  
  77.     IF ERR = 0 THEN
  78.         dlg% = EXITSUCCESS
  79.     ELSEIF ERR = STFQUIT THEN
  80.         dlg% = EXITQUIT
  81.     ELSE
  82.         dlg% = EXITFAILURE
  83.     END IF
  84. QUITL1:
  85.  
  86.     END
  87.  
  88. ERRQUIT:
  89.     i% = DoMsgBox("Setup sources were corrupted, call Technical Support on 091-4910500!", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  90.     END
  91.  
  92.  
  93.  
  94. ASKQUIT:
  95.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", APPHELP, "")
  96.  
  97.     IF sz$ = "EXIT" THEN
  98.         UIPopAll
  99.         ERROR STFQUIT
  100.     ELSEIF sz$ = "REACTIVATE" THEN
  101.         GOTO ASKQUIT
  102.     ELSE
  103.         UIPop 1
  104.     END IF
  105.     RETURN
  106.  
  107.  
  108.  
  109. '**
  110. '** Purpose:
  111. '**     Builds the copy list and performs all installation operations.
  112. '** Arguments:
  113. '**     none.
  114. '** Returns:
  115. '**     none.
  116. '*************************************************************************
  117. SUB Install STATIC
  118.  
  119.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  120.     CreateDir EXEDEST$, cmoNone
  121.  
  122.     AddSectionFilesToCopyList "BubbleEXE", SrcDir$, EXEDEST$
  123.     AddSectionFilesToCopyList "BubbleDLL", SrcDir$, DLLDEST$
  124.     CopyFilesInCopyList
  125.  
  126.     ini$ = MakePath(GetWindowsDir(), "FUTURE.INI")
  127.    CreateProgmanGroup "Future", "", cmoNone
  128.    ShowProgmanGroup  "Future", 1, cmoNone
  129.    CreateProgmanItem "Future", "BubbleHelp", EXEDEST$ + "\bubble.exe", "", cmoOverwrite
  130.     CreateProgmanItem "Startup", "BubbleHelp", EXEDEST$ + "\bubble.exe", "", cmoOverwrite
  131.  
  132.     ' Add bubble help files in ini
  133.  
  134.     CreateIniKeyValue ini$, "BubbleHelp", "MSWRITE_MENU",     EXEDEST$ + "\WRITEBUB.HLP",     cmoOverwrite
  135.     CreateIniKeyValue ini$, "BubbleHelp", "pbParent",             EXEDEST$ + "\PBRUSBUB.HLP",     cmoOverwrite
  136.     CreateIniKeyValue ini$, "BubbleHelp", "Notepad",             EXEDEST$ + "\NOTEPBUB.HLP",     cmoOverwrite
  137.     CreateIniKeyValue ini$, "BubbleHelp", "Clock",                 EXEDEST$ + "\CLOCKBUB.HLP",     cmoOverwrite
  138.     CreateIniKeyValue ini$, "BubbleHelp", "Progman",             EXEDEST$ + "\PROGMBUB.HLP",     cmoOverwrite
  139.     CreateIniKeyValue ini$, "BubbleHelp", "#32769",             EXEDEST$ + "\DESKTBUB.HLP",     cmoOverwrite
  140.     CreateIniKeyValue ini$, "BubbleHelp", "tty",                 EXEDEST$ + "\DOSBUB.HLP",         cmoOverwrite
  141.     CreateIniKeyValue ini$, "BubbleHelp", "CalWndMain",         EXEDEST$ + "\CALENBUB.HLP",     cmoOverwrite
  142.     CreateIniKeyValue ini$, "BubbleHelp", "Cardfile",             EXEDEST$ + "\CARDFBUB.HLP",     cmoOverwrite
  143.     CreateIniKeyValue ini$, "BubbleHelp", "Recorder",             EXEDEST$ + "\RECORBUB.HLP",     cmoOverwrite
  144.     CreateIniKeyValue ini$, "BubbleHelp", "Terminal",             EXEDEST$ + "\TERMIBUB.HLP",     cmoOverwrite
  145.     CreateIniKeyValue ini$, "BubbleHelp", "AppClass",             EXEDEST$ + "\PACKABUB.HLP",     cmoOverwrite
  146.     CreateIniKeyValue ini$, "BubbleHelp", "MPlayer",             EXEDEST$ + "\MPLAYBUB.HLP",     cmoOverwrite
  147.     CreateIniKeyValue ini$, "BubbleHelp", "SoundRec",             EXEDEST$ + "\SOUNDBUB.HLP",     cmoOverwrite
  148.     CreateIniKeyValue ini$, "BubbleHelp", "SciCalc",             EXEDEST$ + "\CALCBUB.HLP",     cmoOverwrite
  149.     CreateIniKeyValue ini$, "BubbleHelp", "CtlPanelClass",    EXEDEST$ + "\CONTRBUB.HLP",     cmoOverwrite
  150.     CreateIniKeyValue ini$, "BubbleHelp", "Pif",                 EXEDEST$ + "\PIFEDBUB.HLP",     cmoOverwrite
  151.     CreateIniKeyValue ini$, "BubbleHelp", "Solitaire",         EXEDEST$ + "\SOLBUB.HLP",          cmoOverwrite
  152.     CreateIniKeyValue ini$, "BubbleHelp", "Minesweeper",         EXEDEST$ + "\WINMIBUB.HLP",     cmoOverwrite
  153.     CreateIniKeyValue ini$, "BubbleHelp", "#32770",             EXEDEST$ + "\TASKMBUB.HLP",     cmoOverwrite
  154.     CreateIniKeyValue ini$, "BubbleHelp", "~FSDSpellWrite",     EXEDEST$ + "\SPELLBUB.HLP",     cmoOverwrite
  155.     CreateIniKeyValue ini$, "BubbleHelp", "MyDlgClass",         EXEDEST$ + "\CHARMBUB.HLP",     cmoOverwrite
  156.     CreateIniKeyValue ini$, "BubbleHelp", "~FSDBubbleHelp",     EXEDEST$ + "\BUBHEBUB.HLP",     cmoOverwrite
  157.     CreateIniKeyValue ini$, "BubbleHelp", "mydlg",                 EXEDEST$ + "\WINSEBUB.HLP",     cmoOverwrite
  158.     CreateIniKeyValue ini$, "BubbleHelp", "ClipBookWClass",     EXEDEST$ + "\CLIPB311.HLP",     cmoOverwrite
  159.     CreateIniKeyValue ini$, "BubbleHelp", "Clipboard",         EXEDEST$ + "\CLIPBBUB.HLP",     cmoOverwrite
  160.     CreateIniKeyValue ini$, "BubbleHelp", "WFS_Frame",         EXEDEST$ + "\WINFIBUB.HLP",     cmoOverwrite
  161.     CreateIniKeyValue ini$, "BubbleHelp", "PrintManager",     EXEDEST$ + "\PRINTBUB.HLP",     cmoOverwrite
  162.  
  163.     ' Take out SpellWrite bubbles
  164.  
  165.     CreateIniKeyValue ini$, "SpellWrite", "Bubble",             "0",     cmoNone
  166.         
  167.     ' Call startup proc
  168.  
  169.    CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  170.    sz$ = UIStartDlg(CUIDLL$, INSTALLED, "InstalledProc", APPHELP, HELPPROC$)
  171.  
  172.     ' End installation
  173.  
  174. END SUB
  175.  
  176.  
  177.  
  178. '**
  179. '** Purpose:
  180. '**     Appends a file name to the end of a directory path,
  181. '**     inserting a backslash character as needed.
  182. '** Arguments:
  183. '**     szDir$  - full directory path (with optional ending "\")
  184. '**     szFile$ - filename to append to directory
  185. '** Returns:
  186. '**     Resulting fully qualified path name.
  187. '*************************************************************************
  188. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  189.     IF szDir$ = "" THEN
  190.         MakePath = szFile$
  191.     ELSEIF szFile$ = "" THEN
  192.         MakePath = szDir$
  193.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  194.         MakePath = szDir$ + szFile$
  195.     ELSE
  196.         MakePath = szDir$ + "\" + szFile$
  197.     END IF
  198. END FUNCTION
  199.  
  200.